package servletimpl;

import javax.servlet.*;
import java.io.IOException;

/**
 * 实现 Servlet 接口的方式实现一个 Servlet
 */
public class ImplementServlet implements Servlet {


    /**
     * 生命周期方法，默认在第一次访问该 Servlet 的时候由 Tomcat 创建一个 Servlet 对象，然后调用该方法。
     */
    @Override
    public void init(ServletConfig servletConfig) throws ServletException {
        System.out.println(getServletInfo() + " 初始化...");
    }

    /**
     * 生命周期方法，每次收到对该 Servlet 的请求时，Tomcat 调用该方法进行处理。
     */
    @Override
    public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
        System.out.println(getServletInfo() + " 被访问了...");
    }

    /**
     * 生命周期方法，当容器关闭时，该方法会被调用
     */
    @Override
    public void destroy() {
        System.out.println(getServletInfo() + " 被销毁...");
    }

    /**
     * 这个方法没啥作用
     */
    @Override
    public String getServletInfo() {
        return "ImplementServlet";
    }

    /**
     * 获得 ServletConfig 对象，一般将初始化时传入的 ServletConfig 返回。
     */
    @Override
    public ServletConfig getServletConfig() {
        return null;
    }
}
